Data backup is important to the operation of computer systems, so that important data can be recovered even after system failure or power outage. Standard data backup approaches perform full data backups on a periodic basis. This means copying primary data to a backup storage device located either locally or remotely from the computer system on which the primary data resides.
One type of data backup uses mirroring to back up data. In a mirroring process, a duplicate copy of the primary data is created on a storage device coupled to the computer system on which the primary data resides, either directly or via data transmission networks. When changes are made to the primary data, the changes are mirrored or reflected on the duplicate copy. When the mirroring process obtains a complete mirror copy of the data, the mirroring process is terminated. This mirrored data provides a “snapshot” of the original data at some particular time. A backup copy is then produced based on the snapshot obtained quickly during the mirroring process. The period between the start of the mirroring process to the end of obtaining a complete backup copy is called a backup window.
A computer or server's performance, however, will be affected by the mirroring and backup process during the backup window because numerous commands need to communicate back and forth with a storage controller coupled to the storage device. In addition, the server's access to the data being mirrored and backed up may be affected during the period when the same data is being mirrored and backed up. Thus, system administrators may prefer to utilize additional servers to perform the backup process while the primary server continues to perform its intended function. These additional servers access the snapshot information and ensure it is backed-up appropriately. Thus, the primary server, for example an online transaction system, is not required to use its resources to actually perform the backup of the data to some other storage medium.
The identification, provisioning and configuration of these additional or secondary servers are performed manually and are time consuming and error-prone. In particular, a secondary server must be configured so that it has access to the storage device where the snapshot is stored. Therefore, there is a need for an easy and automatic system to transport snapshots between servers so as to facilitate backing-up data.